package com.ruoyi.school.service;

import com.ruoyi.school.domain.PacProSkillCert;
import com.ruoyi.school.domain.PacSoftPatent;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.school.domain.vo.AcademicCommonVo;
import com.ruoyi.school.domain.vo.HonorWallTopThreeVo;
import com.ruoyi.school.domain.vo.PacAcademicOutputVo;
import com.ruoyi.school.handler.wall.WallTopThree;
import com.ruoyi.system.domain.TableData;

import java.util.List;

/**
* @author jeremylin
* @description 针对表【pac_soft_patent(软著、专利)】的数据库操作Service
* @createDate 2025-07-10 18:20:30
*/
public interface PacSoftPatentService extends IService<PacSoftPatent> {


    TableData<PacAcademicOutputVo> getList(PacAcademicOutputVo academicOutput);

    PacSoftPatent getDetails(PacSoftPatent pacSoftPatent);

    boolean add(PacSoftPatent pacSoftPatent);

    boolean addByStu(PacSoftPatent pacSoftPatent);

    boolean edit(PacSoftPatent pacSoftPatent);

    boolean editByStu(PacSoftPatent pacSoftPatent);

    boolean delete(PacSoftPatent pacSoftPatent);

    boolean wall(AcademicCommonVo pacSoftPatent);

    boolean unWall(AcademicCommonVo academicCommonVo);

    List<PacSoftPatent> myList(PacSoftPatent pacAcademicOutput);

    void audit(PacSoftPatent output);

    List<HonorWallTopThreeVo> getTopThree(WallTopThree builder);

    List<HonorWallTopThreeVo> getStuHonorList(WallTopThree wallTopThree);

    long countByAudit();

    List<PacSoftPatent> selectStuTop5(Integer id);
}
